home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 8352 / 8352.xpi / chrome / greasefire.jar / content / test / test_autoupdate.js next >
Text File  |  2009-01-06  |  2KB  |  61 lines

  1. /*
  2.  * Copyright (C) 2008 by Steve Krulewitz <skrulx@gmail.com>
  3.  * Licensed under GPLv2 or later, see file LICENSE in the xpi for details.
  4.  */
  5. const Cc = Components.classes;
  6. const Ci = Components.interfaces;
  7. const Cr = Components.results;
  8.  
  9. function runTest() {
  10.  
  11.   var tm = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager);
  12.   var mainThread = tm.mainThread;
  13.  
  14.   var gfs = Cc["@skrul.com/greasefire/service;1"]
  15.               .getService(Ci.gfIGreasefireService);
  16.  
  17.   var u = Cc["@skrul.com/greasefire/updater;1"]
  18.             .getService(Ci.gfIUpdaterService);
  19.  
  20.   u.updateIntervalMinutes = 2;
  21.  
  22.   log("index date: " + (new Date(gfs.indexDate)));
  23.   log("next update date: " + (new Date(u.nextUpdateDate)));
  24.   log("update interval: " + u.updateIntervalMinutes);
  25.  
  26.   var done = false;
  27.  
  28.   u.addListener({
  29.     onUpdateStarted: function() {
  30.       log("onUpdateStarted");
  31.     },
  32.     onUpdateFinished: function(aStatus, aMessage) {
  33.       log("onUpdateFinished " + aStatus.toString(16) + " " + aMessage);
  34.       done = true;
  35.     },
  36.     onDownloadProgress: function(aCurrentBytes, aTotalBytes) {
  37.       //log("onDownloadProgress " + aCurrentBytes + " " + aTotalBytes);
  38.     }
  39.   });
  40.  
  41.   for (var i = 0; i < 3; i++) {
  42.     done = false;
  43.     while (!done) {
  44.       mainThread.processNextEvent(true);
  45.     }
  46.  
  47.     log("index date: " + (new Date(gfs.indexDate)));
  48.     log("next update date: " + (new Date(u.nextUpdateDate)));
  49.     log("update interval: " + u.updateIntervalMinutes);
  50.   }
  51.  
  52.   return true;
  53. }
  54.  
  55. function newUri(spec) {
  56.   var ioService = Cc["@mozilla.org/network/io-service;1"].
  57.                   getService(Ci.nsIIOService);
  58.  
  59.   return ioService.newURI(spec, null, null);
  60. }
  61.